perm filename SUBR.F4[MUS,LCS]1 blob sn#056098 filedate 1974-01-08 generic text, type T, neo UTF8
05600	C*****  THIS ROUTINE DIVIDES OCTAVE INTO ANY NUMBER OF EQUAL PARTS
05700	
05800		SUBROUTINE SUBR
05900	 	COMMON /INS/ INST(27),BG(60)
06000		COMMON P(30),INUM,IPAR,CNT(27),BT,PL(48),IREST,DF
06100	C   CALL SUBROUTINE FROM P13. P3 CAN BE NOTES OR NUMBS.
06105		X=P(3)
06110		IF(PL(3).EQ.1)GO TO 1
06200		IF(P(12).EQ.0)X=IFIX(X)
06205	C  FOR RAND NOTES TO PRINT OUT FREQS.
06210		X=30.868*2**(X/12)
06300	C  X=FREQ. IN HZ. BASED ON NOTE # IN P3.
06310		PL(3)=1.
06355	C  THIS CAUSES FREQ. NUM TO PRINT INSTEAD OF LITERAL CHARACTERS.
06400	1	P(3)=X*2**(P(11)/P(12))
06500	C  P12=# OF DIVISIONS OF THE OCTAVE.  P11=CHROMATIC STEP IN THAT DIV.
06800		RETURN
06900		END
07000	
07100	C   STEPS  ; TYPICAL INPUT FOR MICROTONE SUBROUTINE.
07200	C   CLAR  /P2 .3/P3 A3/P4 1000/P5 F1/P7 F4;
07300	C   P11 NUM/0/1/2/3/4/5/6/7/8/9/FINE*;
07400	C   P8 9/P9 SUBN/END;  OCTAVE IS DIVIDED INTO 9 PARTS.